package com.example.clxy.dao;

import com.example.clxy.entity.ScheduleStudentGx;
import com.example.clxy.entity.ScheduleStudentGxKey;
import com.example.clxy.result.business.PageResult.StudentScorePageResult;
import com.example.clxy.result.business.RegResult;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface ScheduleStudentGxMapper {
    int deleteByPrimaryKey(ScheduleStudentGxKey key);

    int insert(ScheduleStudentGx record);

    int insertSelective(ScheduleStudentGx record);

    ScheduleStudentGx selectByPrimaryKey(ScheduleStudentGxKey key);

    int updateByPrimaryKeySelective(ScheduleStudentGx record);

    int updateByPrimaryKey(ScheduleStudentGx record);

    List<StudentScorePageResult> getStudentScoreBySchedule(@Param("scheduleid") String scheduleid,
                                                           @Param("wlclassid") String wlclassid,
                                                           @Param("studentname") String studentname,
                                                           @Param("wlclassname") String wlclassname,
                                                           @Param("begin") int begin,
                                                           @Param("end") int end,
                                                           @Param("pagesize") int pagesize);
    List<Double> getSorceRatioLis();

    List<StudentScorePageResult> getStudentScoreByStudent(@Param("studentid") String studentid,
                                                          @Param("scheduleid") String scheduleid,
                                                          @Param("semesterid") String semesterid,
                                                          @Param("begin") int begin,
                                                          @Param("end") int end,
                                                          @Param("pagesize") int pagesize);

    int addGxList(@Param("scheduleStudentGxList") List<ScheduleStudentGx> scheduleStudentGxList);

    int deleteScheduleStudentGx(String scheduleid);


    String getStudentPath(@Param("scheduleid") String scheduleid,
                          @Param("studentid") String studentid);

    void updateReg(@Param("dictid") String dictid,
                   @Param("regscore") String regscore);

}